home *** CD-ROM | disk | FTP | other *** search
- property pAction, pActiveOnly, pSupressRoll, pOrigMember, pHighMember, pSpr, pSound, pTimer, pSmiley, pFrown, pSober, pBuzzed, pBlotto, pPassOut
-
- on mouseUp me
- if the doubleClick then
- exit
- end if
- stopManagerVO()
- pSpr.member = pOrigMember
- if inBonusMode() and (pAction = #toughLove) then
- repeat with X in [9, 11, 13]
- sendSprite(X, pAction)
- end repeat
- else
- sendCharacter(pAction, pSound, pActiveOnly)
- end if
- end
-
- on mouseDown me
- if inBonusMode() then
- case pAction of
- #toughLove:
- otherwise:
- alertBeep()
- end case
- end if
- replaceDraggingAnything()
- if the doubleClick then
- exit
- end if
- pSupressRoll = 1
- end
-
- on getPropertyDescriptionList me
- return [#pAction: [#default: #card, #comment: "Action", #format: #symbol, #range: [#dance, #card, #charm, #order, #serve, #drinkTicket, #recipes, #toughLove, #slots]], #pActiveOnly: [#default: 1, #comment: "Send to active character only?", #format: #boolean], #pSound: [#default: EMPTY, #comment: "Sound", #format: #sound]]
- end
-
- on beginSprite me
- pSpr = sprite(me.spriteNum)
- pOrigMember = pSpr.member
- pHighMember = nextMember(pOrigMember)
- if pAction = #charm then
- pSmiley = nextMember(pOrigMember, 2)
- pFrown = nextMember(pOrigMember, 3)
- pSober = nextMember(pOrigMember, 4)
- pBuzzed = nextMember(pOrigMember, 5)
- pBlotto = nextMember(pOrigMember, 6)
- pPassOut = nextMember(pOrigMember, 7)
- end if
- if inMixingMode() then
- setCursor(pSpr, pointingHand())
- else
- case pAction of
- #toughLove:
- setCursor(pSpr, pointingHand())
- otherwise:
- setCursor(pSpr, noGood())
- end case
- end if
- end
-
- on endSprite
- setCursor(pSpr, defaultCursor())
- end
-
- on mouseEnter me
- rememberActiveBottle()
- pSpr.member = pHighMember
- if (pAction = #charm) and inMixingMode() then
- Active = getActiveCharacter()
- if the optionDown then
- intoxication = sendSprite(Active, #getIntoxication)
- charmPoints = sprite(Active).pCharmedPoints
- if intoxication = #passedOut then
- pSpr.member = pPassOut
- else
- if intoxication = #blotto then
- pSpr.member = pBlotto
- else
- if intoxication = #buzzed then
- pSpr.member = pBuzzed
- else
- if charmPoints > 0 then
- pSpr.member = pSmiley
- else
- if charmPoints < 0 then
- pSpr.member = pFrown
- else
- pSpr.member = pSober
- end if
- end if
- end if
- end if
- end if
- else
- pSpr.member = pHighMember
- end if
- else
- pSpr.member = pHighMember
- end if
- customToolTip(me)
- pTimer = nowTicks()
- end
-
- on customToolTip me, Force
- global gToolTip, gPlayerDrinkTickets
- if (pAction = #drinkTicket) and inMixingMode() then
- ticketsLeft = sumGameLevels(#TIX) - gPlayerDrinkTickets
- sendSprite(gToolTip, #mShowToolTip, pSpr, "Drink Tickets:" && ticketsLeft, getLaser(pAction))
- showDrinkContents(pAction, VOID, VOID)
- refreshHelpWindow(pAction)
- else
- if Force then
- forceToolTip(pSpr, pAction)
- else
- showToolTip(pSpr, pAction)
- end if
- end if
- end
-
- on mouseLeave me
- restoreActiveBottle()
- pSpr.member = pOrigMember
- hideToolTip()
- pSupressRoll = 0
- end
-
- on mouseWithin me
- if tipTickRange(pTimer) and not pSupressRoll then
- customToolTip(me, 1)
- else
- dismissToolTip()
- end if
- end
-